prolog './g122a.ijs'
NB. x -.@-:"r y ---------------------------------------------------------

f=: 4 : 0
 xx=: x{~ y ?@$ #x
 yy=: x{~ y ?@$ #x
 r=: <:#$xx
 assert. (   xx  -.@ -:"r   yy) -: -.    xx  -:"r   yy
 assert. (   xx  -.@:-:"r   yy) -: -.    xx  -:"r   yy
 assert. (   xx  -.@ -:"r {.yy) -: -.    xx  -:"r {.yy
 assert. (   xx  -.@:-:"r {.yy) -: -.    xx  -:"r {.yy
 assert. (({.xx) -.@ -:"r   yy) -: -. ({.xx) -:"r   yy
 assert. (({.xx) -.@:-:"r   yy) -: -. ({.xx) -:"r   yy
 1
)

(<0 1           ) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<'abcd',0 _1{a.) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<     100?@$100) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<     100?@$0  ) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<j./2 100?@$0  ) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<  x: 100?@$100) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<  x: 100?@$0  ) f&> (100+i.4) ,&.>/ '';<"0 i.8
(<":&.>100?@$100) f&> (100+i.4) ,&.>/ '';<"0 i.8
1 = -:&$.~ i. 2 3
0 = -.@-:&$.~ i. 2 3
NB. fails 1 = -:"1&$.~ i. 2 3
NB. fails 0 = -.@-:"1&$.~ i. 2 3


NB. ------------------- other special forms #@, y  */@$ y   #@$ y   *@#@, y   (0e.$) y -----------------
xx =. '';2;'c';6 4x;(i. 2 3);(i. 0);(i. 3 0);(i. 0 3);(i. 4 2 3);(i. 4 2 0 3);i. 1 2 3 4
(#@, -: #"#@,)@> xx
(*/@$ -: */"]@$)@> xx
(#@$ -: #"#@$)@> xx
(*@# -: *"]@#)@> xx
(*@#@, -: *"]@#"#@,)@> xx
((0 e. $) -: -.@*@#@,)@> xx
(#@:, -: #"#@,)@> xx
(*/@:$ -: */"]@$)@> xx
(#@:$ -: #"#@$)@> xx
(([: # ,) -: #"#@,)@> xx
(([: */ $) -: */"]@$)@> xx
(([: # $) -: #"#@$)@> xx
xx =. $. -:/~ i. 3
(#@, -: #"#@,) xx
(*/@$ -: */"]@$) xx
(#@$ -: #"#@$) xx
(*@# -: *"]@#) xx
(*@#@, -: *"]@#"#@,) xx
((0 e. $) -: -.@*@#@,) xx
(#@:, -: #"#@,) xx
(*/@:$ -: */"]@$) xx
(#@:$ -: #"#@$) xx
(([: # ,) -: #"#@,) xx
(([: */ $) -: */"]@$) xx
(([: # $) -: #"#@$) xx
xx =. i. (QKTEST{1e6 1e4),3 2
THRESHOLD +. 0.4 > '#@,"]"2 xx' %&(10&(6!:2)) '#"]@,"2 xx'
THRESHOLD +. 0.4 > '*/@$"]"2 xx' %&(10&(6!:2)) '*/"]@$"2 xx'
THRESHOLD +. 0.4 > '#@$"]"2 xx' %&(10&(6!:2)) '#"]@$"2 xx'
THRESHOLD +. 0.4 > '*@#@,"]"2 xx' %&(10&(6!:2)) '*"]@#@,"2 xx'
THRESHOLD +. 0.5 > '*@#"]"2 xx' %&(10&(6!:2)) '*"]@#"2 xx'
THRESHOLD +. 0.4 > '(0 e. $)"2 xx' %&(10&(6!:2)) '((2-2) e. $)"2 xx'
THRESHOLD +. 0.4 > '#@:,"]"2 xx' %&(10&(6!:2)) '#"]@:,"2 xx'
THRESHOLD +. 0.4 > '*/@:$"]"2 xx' %&(10&(6!:2)) '*/"]@:$"2 xx'
THRESHOLD +. 0.4 > '#@:$"]"2 xx' %&(10&(6!:2)) '#"]@:$"2 xx'
THRESHOLD +. 0.4 > '([: # ,)"]"2 xx' %&(10&(6!:2)) '([: #"] ,)"2 xx'
THRESHOLD +. 0.4 > '([: */ $)"]"2 xx' %&(10&(6!:2)) '([: */"] $)"2 xx'
THRESHOLD +. 0.4 > '([: # $)"]"2 xx' %&(10&(6!:2)) '([: #"] $)"2 xx'



epilog''

